/* $Id: NonClientCompanyRegisterFacade.java 
 * Copyright (C) 2011, TRAKHEES
 *  
 * Revision History
 *
 * Date  			Author 		    	Remarks
 * ---------------------------------------------------------------------------------
 *
 */
package ae.pcfc.etks.online.common.facade;

import java.util.List;

import ae.pcfc.etks.online.common.vo.ClientCategoryVO;
import ae.pcfc.etks.online.common.vo.NonClientCompanyVO;
import ae.pcfc.etks.online.wf.service.client.vo.LaunchIncidentVO;

public interface NonClientCompanyRegisterFacade extends Facade {

	/**
	 * registerNonClientCompany
	 * Register Non Client Company
	 * @param nonClientCompanyVO Contains information filled in by the user 
	 * @return
	 * String
	 */
	public String registerNonClientCompany(NonClientCompanyVO nonClientCompanyVO);
	
	/**
	 * getClientCategory
	 * Method to get client categories based on client type
	 * @param clientType
	 * @return
	 * List<ClientCategoryVO>
	 */
	public List<ClientCategoryVO> getClientCategory(String clientType);

	/**
	 * updateWorkflowIncidentVO
	 * updateWorkflowIncidentVO:	Method to update the LaunchIncidentVO based on the client roles the Service.
	 * This method finds the client roles of the Service, find its corresponding departments and sets the department flag in the LaunchIncidentVO
	 * By default, Finance Department is set to mandatory approval department, irrespective of the service role of the service
	 * @param launchIncidVO
	 * @param iClientRole
	 * void
	 */
	public void updateWorkflowIncidentVO(LaunchIncidentVO launchIncidVO, List<Integer> iClientRole);
	
	public boolean validateNonClientCompanyReq(NonClientCompanyVO nonClientCompanyVO);
}
